/**
 * Copyright 2015 Impetus Infotech.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.impetus.client.spark.utils;

import java.io.File;

/**
 * Provides utility methods for test cases.
 * 
 * @author Pragalbh Garg
 */
public class SparkTestingUtils
{

    /**
     * Recursively clean dir.
     * 
     * @param targetDirPath
     *            the target dir path
     */
    public static void recursivelyCleanDir(final String targetDirPath)
    {
        if (targetDirPath != null && targetDirPath.length() > 0)
        {
            File targetDir = new File(targetDirPath);
            // Get all files in directory
            File[] files = targetDir.listFiles();
            if (files != null)
            {
                for (File file : files)
                {
                    if (file.isDirectory() && !(file.list().length == 0))
                    {

                        recursivelyCleanDir(file.getPath());
                        file.delete();
                    }
                    else
                    {
                        file.delete();
                    }

                }
            }
            targetDir.delete();
        }
    }

}
